package com.wstuo.itsm.cim.dto;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.struts2.json.annotations.JSON;

import com.wstuo.common.dto.BaseDTO;
import com.wstuo.common.util.TimeUtils;
import com.wstuo.common.config.attachment.entity.Attachment;

/***
 * 配置项基本数据DTO类
 * @author QXY
 */
@SuppressWarnings("serial")
public class CIDTO extends BaseDTO{
    /**
     * Configuration item sheet auto identity column
     */
    private Long ciId;

    /**
     * Configuration item NO.
     */
    private String cino;

    /**
     * Configuration item name
     */
    private String ciname;

    /**
     * Product Type
     */
    private String model;

    /**
     * serial number
     */
    private String serialNumber;

    /**
     * barcode
     */
    private String barcode;

    /**
     * buy time
     */
    private Date buyDate;

    /**
     * Arrival time
     */
    private Date arrivalDate;

    /**
     * Purchase Order No.
     */
    private String poNo;

    /**
     * Warning time
     */
    private Date warningDate;

    /**
     * provider id
     */
    private Long providerId;

    /**
     * providers name
     */
    private String providerName;

    /**
     * Life Cycle
     */
    private Integer lifeCycle;

    /**
     * Warranty
     */
    private Integer warranty;

    /**
     * User
     */
    private String userName;

    /**
     * Owner
     */
    private String owner;

    /**
     * status id
     */
    private Long statusId;

    /**
     * status
     */
    private String status;
    private String statusName;

    /**
     * Location id
     */
    private Long locId;

    /**
     * Location
     */
    private String locationName;

    /**
     * brand id
     */
    private Long brandId;

    /**
     * brand Name
     */
    private String brandName;

    /**
     * category No.
     */
    private Long categoryNo;
    /***
     * category Name
     */
    private String categoryName;
    private Long eavNo;
    private Map<String,String> attrVals =new HashMap<String, String>(); 
    private List<Attachment> attachments;//附件list
    private String attachmentStr;//附件字符串
    
    //20110709-QXY
    private String department;//部门
    private String CDI;//CDI
    private String workNumber;//Work Number
    private String project;//Project
    private String sourceUnits;//来源单位
    private Boolean financeCorrespond=false;//与财务对应
    private Double assetsOriginalValue = 0.0; //资产原值
    private Date wasteTime;//报废时间
    private Date borrowedTime;//借出时间
    private String originalUser;//原使用者
    private Date recoverTime;//回收时间
    private Date expectedRecoverTime;//预计回收时间
    private String usePermissions;//使用权限
    private Byte dataFlag;
    private String companyName;//客户名称
    private Long companyNo;//客户No
    private String lastUpdater;//最后修改人
    private String computerName;//计算机名
    private Long [] aids;
    private Long ciServiceDirNo;
    private String ciServiceDirName;
    private Long[] serviceDirectoryNos;//服务目录编号
    private Long systemPlatformId;
    private String systemPlatformName;
    private Long softSetId;
	private String softSetingParam;
	private String softConfigureAm;
	private String softRemark1;
	private String softRemark2;
	private String softRemark3;
	private String softAttachmentStr;
	private Long softAid;
    private Long[] softAids;
    //20130706 ciel
    private Integer depreciationIsZeroYears = 0; //多少年折旧率为0
    private Double ciDepreciation = 0.0; //折旧率
    private Map<Long,String> serviceNos;
	private HardwareDTO hardwareDTOs;
	
	private Long originalUserId;
    private Long userNameId;
    private Long ownerId;
	
    private Long formId;//自定义表单id
    private String isShowBorder;
    private Boolean isNewForm;
    private String categoryLocation;
    
    private String changeCode;//关联变更编号
    
    private Long beId;//修改修为ID
    
    
	public String getStatusName() {
		return statusName;
	}
	public void setStatusName(String statusName) {
		this.statusName = statusName;
	}
	public Long getBeId() {
		return beId;
	}
	public void setBeId(Long beId) {
		this.beId = beId;
	}
	public String getChangeCode() {
		return changeCode;
	}
	public void setChangeCode(String changeCode) {
		this.changeCode = changeCode;
	}
	public String getCategoryLocation() {
		return categoryLocation;
	}
	public void setCategoryLocation(String categoryLocation) {
		this.categoryLocation = categoryLocation;
	}
	public Boolean getIsNewForm() {
		return isNewForm;
	}
	public void setIsNewForm(Boolean isNewForm) {
		this.isNewForm = isNewForm;
	}
	public Long getFormId() {
		return formId;
	}
	public void setFormId(Long formId) {
		this.formId = formId;
	}
	public String getIsShowBorder() {
		return isShowBorder;
	}
	public void setIsShowBorder(String isShowBorder) {
		this.isShowBorder = isShowBorder;
	}
	public Long getOriginalUserId() {
		return originalUserId;
	}
	public void setOriginalUserId(Long originalUserId) {
		this.originalUserId = originalUserId;
	}
	public Long getUserNameId() {
		return userNameId;
	}
	public void setUserNameId(Long userNameId) {
		this.userNameId = userNameId;
	}
	public Long getOwnerId() {
		return ownerId;
	}
	public void setOwnerId(Long ownerId) {
		this.ownerId = ownerId;
	}
	public HardwareDTO getHardwareDTOs() {
		return hardwareDTOs;
	}
	public void setHardwareDTOs(HardwareDTO hardwareDTOs) {
		this.hardwareDTOs = hardwareDTOs;
	}
	public Map<Long, String> getServiceNos() {
		return serviceNos;
	}
	public void setServiceNos(Map<Long, String> serviceNos) {
		this.serviceNos = serviceNos;
	}

	public Long getSoftSetId() {
		return softSetId;
	}

	public void setSoftSetId(Long softSetId) {
		this.softSetId = softSetId;
	}

	public String getSoftSetingParam() {
		return softSetingParam;
	}

	public void setSoftSetingParam(String softSetingParam) {
		this.softSetingParam = softSetingParam;
	}

	public String getSoftConfigureAm() {
		return softConfigureAm;
	}

	public void setSoftConfigureAm(String softConfigureAm) {
		this.softConfigureAm = softConfigureAm;
	}

	public String getSoftRemark1() {
		return softRemark1;
	}

	public void setSoftRemark1(String softRemark1) {
		this.softRemark1 = softRemark1;
	}

	public String getSoftRemark2() {
		return softRemark2;
	}

	public void setSoftRemark2(String softRemark2) {
		this.softRemark2 = softRemark2;
	}

	public String getSoftRemark3() {
		return softRemark3;
	}

	public void setSoftRemark3(String softRemark3) {
		this.softRemark3 = softRemark3;
	}

	public String getSoftAttachmentStr() {
		return softAttachmentStr;
	}

	public void setSoftAttachmentStr(String softAttachmentStr) {
		this.softAttachmentStr = softAttachmentStr;
	}

	public Long getSoftAid() {
		return softAid;
	}

	public void setSoftAid(Long softAid) {
		this.softAid = softAid;
	}

	public Long[] getSoftAids() {
		return softAids;
	}

	public void setSoftAids(Long[] softAids) {
		this.softAids = softAids;
	}

	public Long[] getServiceDirectoryNos() {
		return serviceDirectoryNos;
	}

	public void setServiceDirectoryNos(Long[] serviceDirectoryNos) {
		this.serviceDirectoryNos = serviceDirectoryNos;
	}

	public Long getCiServiceDirNo() {
		return ciServiceDirNo;
	}

	public void setCiServiceDirNo(Long ciServiceDirNo) {
		this.ciServiceDirNo = ciServiceDirNo;
	}

	public String getCiServiceDirName() {
		return ciServiceDirName;
	}

	public void setCiServiceDirName(String ciServiceDirName) {
		this.ciServiceDirName = ciServiceDirName;
	}

	public Long[] getAids() {
		return aids;
	}

	public void setAids(Long[] aids) {
		this.aids = aids;
	}

	public String getComputerName() {
		return computerName;
	}

	public void setComputerName(String computerName) {
		this.computerName = computerName;
	}

	public String getBrandName(  )
    {
        return brandName;
    }

    public Long getCategoryNo(  )
    {
        return categoryNo;
    }

    public void setCategoryNo( Long categoryNo )
    {
        this.categoryNo = categoryNo;
    }

    public String getCategoryName(  )
    {
        return categoryName;
    }

    public void setCategoryName( String categoryName )
    {
        this.categoryName = categoryName;
    }

    public void setBrandName( String brandName )
    {
        this.brandName = brandName;
    }

    public Long getStatusId(  )
    {
        return statusId;
    }

    public void setStatusId( Long statusId )
    {
        this.statusId = statusId;
    }

    public Long getLocId(  )
    {
        return locId;
    }

    public void setLocId( Long locId )
    {
        this.locId = locId;
    }

    public Long getBrandId(  )
    {
        return brandId;
    }

    public void setBrandId( Long brandId )
    {
        this.brandId = brandId;
    }

  

    public String getLocationName() {
		return locationName;
	}
	public void setLocationName(String locationName) {
		this.locationName = locationName;
	}
	public String locationNameFormat() {
		String locName = this.locationName; 
		if( locName != null && locName.length() > 0 ){
			locName = ("/"+locName.trim() + "/")
					.replace("-","/")
					.replace("//", "/");
			setLocationName(locName);
		}
		return locationName;
	}
	
	public Long getCiId(  )
    {
        return ciId;
    }

    public void setCiId( Long ciId )
    {
        this.ciId = ciId;
    }

    public String getCino(  )
    {
        return cino;
    }

    public void setCino( String cino )
    {
        this.cino = cino;
    }

    public String getModel(  )
    {
        return model;
    }

    public void setModel( String model )
    {
        this.model = model;
    }

    public String getSerialNumber(  )
    {
        return serialNumber;
    }

    public void setSerialNumber( String serialNumber )
    {
        this.serialNumber = serialNumber;
    }

    public String getBarcode(  )
    {
        return barcode;
    }

    public void setBarcode( String barcode )
    {
        this.barcode = barcode;
    }

    @JSON(format=TimeUtils.DATE_PATTERN)
    public Date getBuyDate(  )
    {
        return buyDate;
    }

    public void setBuyDate( Date buyDate )
    {
        this.buyDate = buyDate;
    }

    @JSON(format=TimeUtils.DATE_PATTERN)
    public Date getArrivalDate(  )
    {
        return arrivalDate;
    }

    public void setArrivalDate( Date arrivalDate )
    {
        this.arrivalDate = arrivalDate;
    }

    public String getPoNo(  )
    {
        return poNo;
    }

    public void setPoNo( String poNo )
    {
        this.poNo = poNo;
    }

    @JSON(format=TimeUtils.DATE_PATTERN)
    public Date getWarningDate(  )
    {
        return warningDate;
    }

    public void setWarningDate( Date warningDate )
    {
        this.warningDate = warningDate;
    }

    public String getStatus(  )
    {
        return status;
    }

    public void setStatus( String status )
    {
        this.status = status;
    }

    public Long getProviderId(  )
    {
        return providerId;
    }

    public void setProviderId( Long providerId )
    {
        this.providerId = providerId;
    }

    public String getProviderName(  )
    {
        return providerName;
    }

    public void setProviderName( String providerName )
    {
        this.providerName = providerName;
    }

    public Integer getLifeCycle(  )
    {
        return lifeCycle;
    }

    public void setLifeCycle( Integer lifeCycle )
    {
        this.lifeCycle = lifeCycle;
    }

    public Integer getWarranty(  )
    {
        return warranty;
    }

    public void setWarranty( Integer warranty )
    {
        this.warranty = warranty;
    }

    public String getUserName(  )
    {
        return userName;
    }

    public void setUserName( String userName )
    {
        this.userName = userName;
    }

    public String getOwner(  )
    {
        return owner;
    }

    public void setOwner( String owner )
    {
        this.owner = owner;
    }

    public String getCiname(  )
    {
        return ciname;
    }

    public void setCiname( String ciname )
    {
        this.ciname = ciname;
    }

	public Long getEavNo() {
		return eavNo;
	}

	public void setEavNo(Long eavNo) {
		this.eavNo = eavNo;
	}

	public Map<String, String> getAttrVals() {
		return attrVals;
	}

	public void setAttrVals(Map<String, String> attrVals) {
		this.attrVals = attrVals;
	}

	public List<Attachment> getAttachments() {
		return attachments;
	}

	public void setAttachments(List<Attachment> attachments) {
		this.attachments = attachments;
	}

	public String getAttachmentStr() {
		return attachmentStr;
	}

	public void setAttachmentStr(String attachmentStr) {
		this.attachmentStr = attachmentStr;
	}

	public String getDepartment() {
		return department;
	}

	public void setDepartment(String department) {
		this.department = department;
	}

	public String getCDI() {
		return CDI;
	}

	public void setCDI(String cDI) {
		CDI = cDI;
	}

	public String getWorkNumber() {
		return workNumber;
	}

	public void setWorkNumber(String workNumber) {
		this.workNumber = workNumber;
	}

	public String getProject() {
		return project;
	}

	public void setProject(String project) {
		this.project = project;
	}

	public String getSourceUnits() {
		return sourceUnits;
	}

	public void setSourceUnits(String sourceUnits) {
		this.sourceUnits = sourceUnits;
	}

	public Boolean getFinanceCorrespond() {
		return financeCorrespond;
	}
	public void setFinanceCorrespond(Boolean financeCorrespond) {
		this.financeCorrespond = financeCorrespond;
	}
	public Double getAssetsOriginalValue() {
		return assetsOriginalValue;
	}

	public void setAssetsOriginalValue(Double assetsOriginalValue) {
		this.assetsOriginalValue = assetsOriginalValue;
	}

	public Date getWasteTime() {
		return wasteTime;
	}

	public void setWasteTime(Date wasteTime) {
		this.wasteTime = wasteTime;
	}

	public Date getBorrowedTime() {
		return borrowedTime;
	}

	public void setBorrowedTime(Date borrowedTime) {
		this.borrowedTime = borrowedTime;
	}

	public String getOriginalUser() {
		return originalUser;
	}

	public void setOriginalUser(String originalUser) {
		this.originalUser = originalUser;
	}

	public Date getRecoverTime() {
		return recoverTime;
	}

	public void setRecoverTime(Date recoverTime) {
		this.recoverTime = recoverTime;
	}

	public Date getExpectedRecoverTime() {
		return expectedRecoverTime;
	}

	public void setExpectedRecoverTime(Date expectedRecoverTime) {
		this.expectedRecoverTime = expectedRecoverTime;
	}

	public String getUsePermissions() {
		return usePermissions;
	}

	public void setUsePermissions(String usePermissions) {
		this.usePermissions = usePermissions;
	}

	public Byte getDataFlag() {
		return dataFlag;
	}

	public void setDataFlag(Byte dataFlag) {
		this.dataFlag = dataFlag;
	}

	public String getCompanyName() {
		return companyName;
	}

	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}

	public Long getCompanyNo() {
		return companyNo;
	}

	public void setCompanyNo(Long companyNo) {
		this.companyNo = companyNo;
	}

	public CIDTO(){
		
	}
	public CIDTO( Long companyNo ){
		setCompanyNo(companyNo);
	}
	
	public String getLastUpdater() {
		return lastUpdater;
	}

	public void setLastUpdater(String lastUpdater) {
		this.lastUpdater = lastUpdater;
	}
	
	public Long getSystemPlatformId() {
		return systemPlatformId;
	}

	public void setSystemPlatformId(Long systemPlatformId) {
		this.systemPlatformId = systemPlatformId;
	}
	public String getSystemPlatformName() {
		return systemPlatformName;
	}

	public void setSystemPlatformName(String systemPlatformName) {
		this.systemPlatformName = systemPlatformName;
	}

	public Integer getDepreciationIsZeroYears() {
		return depreciationIsZeroYears;
	}
	public void setDepreciationIsZeroYears(Integer depreciationIsZeroYears) {
		this.depreciationIsZeroYears = depreciationIsZeroYears;
	}
	public Double getCiDepreciation() {
		return ciDepreciation;
	}
	public void setCiDepreciation(Double ciDepreciation) {
		this.ciDepreciation = ciDepreciation;
	}
	public CIDTO(Long ciId, String cino, String ciname, String model,
			String serialNumber, String barcode, Date buyDate,
			Date arrivalDate, String poNo, Date warningDate, Long providerId,
			String providerName, Integer lifeCycle, Integer warranty,
			String userName, String owner, Long statusId, String status,
			Long locId, String loc, Long brandId, String brandName,
			Long categoryNo, String categoryName, Long eavNo,
			Map<String, String> attrVals, List<Attachment> attachments,
			String attachmentStr,Long companyNo,Integer depreciationIsZeroYears,String originalUser) {
		super();
		this.ciId = ciId;
		this.cino = cino;
		this.ciname = ciname;
		this.model = model;
		this.serialNumber = serialNumber;
		this.barcode = barcode;
		this.buyDate = buyDate;
		this.arrivalDate = arrivalDate;
		this.poNo = poNo;
		this.warningDate = warningDate;
		this.providerId = providerId;
		this.providerName = providerName;
		this.lifeCycle = lifeCycle;
		this.warranty = warranty;
		this.userName = userName;
		this.owner = owner;
		this.statusId = statusId;
		this.status = status;
		this.locId = locId;
		this.brandId = brandId;
		this.brandName = brandName;
		this.categoryNo = categoryNo;
		this.categoryName = categoryName;
		this.eavNo = eavNo;
		this.attrVals = attrVals;
		this.attachments = attachments;
		this.attachmentStr = attachmentStr;
		this.companyNo=companyNo;
		this.depreciationIsZeroYears=depreciationIsZeroYears;
		this.originalUser=originalUser;
		
	}
	
	

}
